home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1994-03-12 | 1.5 KB | 53 lines |
- ' *************************************
- ' * *
- ' * Smarttext 2 V1.0 *
- ' * Written by Chris Hodges *
- ' * *
- ' *************************************
- '
- ' Smarttext2 schiebt die ASCII Werte eines SPACE-Strings
- ' so lange nach oben bis der Wert des Text-String erreicht ist.
- ' Der Unterschied zu Smarttext1 ist, da� der ganze Bildschirm
- ' in einem Feld abgespeichert wird und erm�glicht einen schon
- ' auf dem Bildschrim bestehenden Text zu manipulieren.
- '
- ' Wenn der Wert des �bergeben Parameters X kleiner als 0 ist,
- ' wird der Text automatisch zentriert.
- ' Ist Y kleiner als 0 wird die aktuelle Cursor-Position �bernommen.
- '
- Screen Open 0,320,200,2,0
- Curs Off : Flash Off : Paper 0 : Cls
- Palette 0,$FFF
- Dim T$(24)
- Global T$()
- For A=0 To 24
- T$(A)=Space$(40)
- Next
- A=0
- Repeat
- Add A,1,1 To 4
- A$=" PRESS ANY KEY TO EXIT! "
- If A=1 Then A$=" HELLO WORLD! "
- If A=2 Then A$=" SMART TEXT WITH AMOS "
- If A=3 Then A$="THIS PROCEDURE IS EASY TO USE!"
- SMARTTEXT[A$,-1,Rnd(10)]
- For W=1 To 10
- Wait Vbl
- Exit If Inkey$<>"",2
- Next
- Until Inkey$<>""
- Procedure SMARTTEXT[T$,X,Y]
- If Y<0 Then Y=Y Curs
- If X<0 Then X=(Screen Width/16)-(Len(T$)/2)
- Repeat
- B=0
- For A=1 To Len(T$)
- C=Asc(Mid$(T$(Y),A+X,1))
- D=Asc(Mid$(T$,A,1))
- If C<D Then Mid$(T$(Y),A+X,1)=Chr$(C+1)
- If C>D Then Mid$(T$(Y),A+X,1)=Chr$(C-1)
- If C=D Then Inc B
- Next
- Print At(X,Y);Mid$(T$(Y),X+1,Len(T$));
- Until B=Len(T$)
- End Proc